package com.gopay.remote.bank.thirdpartypay;

import com.gopay.common.exception.GopayException;

/**
 * 微信支付业务接口
 * 
 * @author jxj
 */
public interface ThirdPartyPayRemoteService {
	
	/**
	 * 支付
	 * @param msg 支付请求对象
	 * @return Object
	 * @throws com.gopay.common.exception.GopayException
	 */
	public Object pay(Object msg) throws GopayException;
	
	/**
	 * 订单查询
	 * @param msg 订单查询请求对象
	 * @return Object
	 * @throws com.gopay.common.exception.GopayException
	 */
	public Object orderQuery(Object msg) throws GopayException;
	
	/**
	 * 退款
	 * @param msg 退款请求对象
	 * @return Object
	 * @throws com.gopay.common.exception.GopayException
	 */
	public Object refund(Object msg) throws GopayException;
	
	/**
	 * 退款查询
	 * @param msg 退款查询请求对象
	 * @return Object
	 * @throws com.gopay.common.exception.GopayException
	 */
	public Object refundQuery(Object msg) throws GopayException;
	
	/**
	 * 
	 * 功能描述：异步通知验签
	 *
	 * @param msg 
	 * @return
	 * @throws GopayException
	 * 
	 * @author 宣广海
	 *
	 * @since 2016年8月5日
	 *
	 * @update:[变更日期YYYY-MM-DD][更改人姓名][变更描述]
	 */
	public Object bankBack(Object msg) throws GopayException;

}
